const _0x571d = ['resolution', '69857hIqaWw', 'pulsePeriod', 'Vector2', 'scene', 'outlinePass', '180311ToNjsz', 'bind', '1092596kYlABI', 'outlinePassAnimate', 'edgeThickness', 'renderer', 'usePatternTexture', '1227297IKnPrS', 'none', 'uniforms', '132697HjuyrM', 'visibleEdgeColor', 'composer', '7eNtHmK', 'FXAAShader', 'camera', 'width', '2980345FncBVl', 'render', 'touchAction', 'style', '124969kqCxzq', '5qUWVkc', 'THREE', '10lsAtDC', 'RenderPass', 'value', 'EffectComposer', 'addPass', 'rotate', 'set'];
const _0x5c1c41 = _0x2785;
(function (_0x539894, _0x49bd50) {
  const _0x42c46f = _0x2785;
  while (!![]) {
    try {
      const _0x3d0957 = parseInt(_0x42c46f(0x168)) + parseInt(_0x42c46f(0x173)) * -parseInt(_0x42c46f(0x16b)) + -parseInt(_0x42c46f(0x182)) * -parseInt(_0x42c46f(0x169)) + parseInt(_0x42c46f(0x17a)) + parseInt(_0x42c46f(0x185)) * parseInt(_0x42c46f(0x178)) + parseInt(_0x42c46f(0x17f)) + -parseInt(_0x42c46f(0x164));
      if (_0x3d0957 === _0x49bd50) break;
      else _0x539894['push'](_0x539894['shift']());
    } catch (_0xa4eff5) {
      _0x539894['push'](_0x539894['shift']());
    }
  }
}(_0x571d, 0xa8d99));
import _0x37908e from './ThreejsBasicMap';

function _0x2785(_0x14e7bf, _0x119603) {
  return _0x2785 = function (_0x571d87, _0x2785de) {
    _0x571d87 = _0x571d87 - 0x162;
    let _0x4ae8db = _0x571d[_0x571d87];
    return _0x4ae8db;
  }, _0x2785(_0x14e7bf, _0x119603);
}
const THREE = window[_0x5c1c41(0x16a)];
class ThreejsOutlinePass extends _0x37908e {
  constructor(_0x497329) {
    const _0x3eeca2 = _0x5c1c41;
    super(_0x497329), this[_0x3eeca2(0x177)] = '', this[_0x3eeca2(0x184)] = '', this['setOutlinePass'](), this[_0x3eeca2(0x17b)]();
  } ['setOutlinePass']() {
    const _0x80ecbb = _0x5c1c41;
    this[_0x80ecbb(0x184)] = new THREE[(_0x80ecbb(0x16e))](this[_0x80ecbb(0x17d)]);
    const _0x19206e = new THREE[(_0x80ecbb(0x16c))](this[_0x80ecbb(0x176)], this[_0x80ecbb(0x162)]);
    this[_0x80ecbb(0x184)][_0x80ecbb(0x16f)](_0x19206e), this[_0x80ecbb(0x177)] = new THREE['OutlinePass'](new THREE[(_0x80ecbb(0x175))](this['width'], this['height']), this['scene'], this[_0x80ecbb(0x162)]), this[_0x80ecbb(0x177)]['edgeStrength'] = 0x4, this['outlinePass']['edgeGlow'] = 0x1, this[_0x80ecbb(0x177)][_0x80ecbb(0x17c)] = 2.7, this['outlinePass'][_0x80ecbb(0x174)] = 0x0, this[_0x80ecbb(0x177)][_0x80ecbb(0x170)] = ![], this[_0x80ecbb(0x177)][_0x80ecbb(0x17e)] = ![], this[_0x80ecbb(0x177)][_0x80ecbb(0x183)] = new THREE['Color']('blue'), this[_0x80ecbb(0x184)][_0x80ecbb(0x16f)](this['outlinePass']);
    const _0x4aaa0b = new THREE['ShaderPass'](THREE[_0x80ecbb(0x186)]);
    _0x4aaa0b[_0x80ecbb(0x181)][_0x80ecbb(0x172)][_0x80ecbb(0x16d)][_0x80ecbb(0x171)](0x1 / this[_0x80ecbb(0x163)], 0x1 / this['height']), this[_0x80ecbb(0x184)][_0x80ecbb(0x16f)](_0x4aaa0b), this['renderer']['domElement'][_0x80ecbb(0x167)][_0x80ecbb(0x166)] = _0x80ecbb(0x180);
  } ['outlinePassAnimate']() {
    const _0xede9b2 = _0x5c1c41;
    requestAnimationFrame(this[_0xede9b2(0x17b)][_0xede9b2(0x179)](this)), this[_0xede9b2(0x184)][_0xede9b2(0x165)]();
  }
}
export default ThreejsOutlinePass;
